QuickTime Movie File Format Specification, May 1996
| Previous | Chapter contents | Chapter top | Next |
This document describes QuickTime files in general, rather than how they are supported on a specific computing platform or in a specific programming language. As a result, the file format information is presented in a tabular manner, rather than in coded data structures. Similarly, field names are presented in English rather than as programming language tags. Furthermore, to the extent possible, data types are described generically. For example, this document uses "32-bit signed integer" rather than " long " to define a 32-bit integer value. Based on the information provided here, you should be able to create appropriate data structure specifications for your environment.
Finally, QuickTime files are used to store other time-based data, as well as QuickTime movies. If you are writing an application that parses QuickTime files, you should recognize that there may be non-movie data in the files.
This document assumes that the reader is familiar with the basic concepts of digital video and digital audio, as well as with QuickTime. For a complete description of QuickTime concepts, including time coordinate systems and how spatial tracks are composited together, please refer to Inside Macintosh: QuickTime.
A QuickTime file stores the description of the media separately from the media data. The description, or meta-data, is called the movie and contains information such as the number of tracks, video compression format, and timing information. The movie also contains an index of where all the media data is stored. The media data is all of the actual sample data, such as video frames and audio samples. The media data may be stored in the same file as the QuickTime movie, in a separate file, or in several files.
Before explaining the specifics of how a QuickTime movie is stored, it is important to first understand the basic units that are used to construct QuickTime files. QuickTime uses two basic structures for storing information: atoms and QT atoms. Both atoms and QT atoms allow you to construct arbitrarily complex hierarchical data structures. Both also allow applications to ignore data they don't understand.
Atom types are specified by a four-character code. Apple Computer reserves all four-character codes consisting entirely of lower case letters.
Unless otherwise stated, all data in a QuickTime movie is stored in big-endian (Motorola) byte ordering.
Finally, all version fields must be set to 0, unless this document states otherwise.
| Previous | Chapter contents | Chapter top | Next |